 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     display: flex;
     justify-content: center;
     align-items: center;
     min-height: 100vh;
     background: #fff;
 }

 .container {
     position: relative;
     width: 240px;
     margin: 30px 0;
 }

 .container input {
     width: 100%;
     padding: 8px 0;
     font-size: 16px;
     border: none;
     border-bottom: 1px solid #9E9E9E;
     background: transparent;
     outline: none;
 }


 .container label {
     position: absolute;
     top: 8px;
     left: 0;
     font-size: 16px;
     color: #9E9E9E;
     pointer-events: none;
     transition: all 0.3s ease;
 }

 .container .bar {
     position: absolute;
     bottom: 0;
     left: 50%;
     width: 0;
     height: 2px;
     background: #2db7f5;
     transform: translateX(-50%);
     transition: all 0.3s ease;
 }

 .container:hover label {
     top: -18px;
     font-size: 12px;
     color: #2db7f5
 }

 .container:hover .bar {
     width: 100%;
 }